package org.jetlinks.community.datasource;

import reactor.core.publisher.Mono;

import javax.annotation.Nonnull;

public interface DataSourceProvider {

    @Nonnull
    DataSourceType getType();

    @Nonnull
    Mono<DataSource> createDataSource(@Nonnull DataSourceConfig properties);

    @Nonnull
    Mono<DataSource> reload(@Nonnull DataSource dataSource,
                            @Nonnull DataSourceConfig properties);

}
